package com.dfec.water.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dfec.framework.mybatis.core.page.PageParam;
import com.dfec.framework.mybatis.core.page.PageUtils;
import com.dfec.water.entity.YdbAreaBaseInfoEntity;
import com.dfec.water.entity.YdbAreaDeviceEntity;
import com.dfec.water.entity.YdbDeviceTypeDictEntity;
import com.dfec.water.entity.YdbDeviceTypeEntity;
import com.dfec.water.param.AreaAddParam;
import com.dfec.water.vo.AreaDeviceVO;

import java.util.List;


/**
 * 区域选择Service接口
 *
 * @author trg
 * @date Thu Jan 09 10:57:17 CST 2025
 */
public interface YdbAreaBaseInfoService  extends IService<YdbAreaBaseInfoEntity>  {

    /**
     * 分页查询
     * @param pageParam 入参
     * @return PageUtils
     * @author trg
     * @date Thu Jan 09 10:57:17 CST 2025
     */
    PageUtils queryPage(PageParam<YdbAreaBaseInfoEntity> pageParam);


    /**
    * 不带分页查询
    *
    * @param ydbAreaBaseInfoEntity 入参
    * @return List<YdbAreaBaseInfoEntity>
    * @author trg
    * @date Thu Jan 09 10:57:17 CST 2025
    */
    List<YdbAreaBaseInfoEntity> listAll(YdbAreaBaseInfoEntity ydbAreaBaseInfoEntity);


    /**
     * 保存
     * @param param
     * @return
     */
     boolean saveArea(AreaAddParam param) ;

    /**
     * 授权设备类别
     * @param param
     */
     void authDevice(AreaAddParam param);

    /**
     * 获取已经授权的列表
     * @param id
     * @return
     */
    List<YdbAreaDeviceEntity> getAuthDevice(Long id);

    /**
     * 获取设备类别
     * @param areaId
     * @return
     */
    List<YdbDeviceTypeDictEntity> getAreaDevices(Long areaId);

    /**
     * 获取设备列表信息
     * @param areaId
     * @return
     */
    List<YdbDeviceTypeEntity> selectByAreaId(Long areaId,Integer devType);
}

